/*
 * InlineStream.h
 *
 *  Created on: Jan 5, 2011
 *      Author: blyth
 */

#ifndef INLINESTREAM_H_
#define INLINESTREAM_H_

namespace CLHEP{
class MTwistEngine;
class RandGauss;
}

class InlineStream {
public:
	InlineStream(int length, int numPeaks, long seed, double* refPeak, int refSize);
	virtual ~InlineStream();

	void reRandomize();
	void DoubleHitStream(int sizeOfPeakOne,int sizeOfPeakTwo,int seperationBetweenPeaks);

	int length;
	int numPeaks;
	int* stream;
	double* refPeak;
	int refSize;
	double** peakInfo;
	CLHEP::MTwistEngine* randEngine;
	CLHEP::RandGauss* randGauss;

private:
	void addNoise();
};

#endif /* INLINESTREAM_H_ */
